lexical phase errors in compiler design